The universal serial bus (USB) provides a low cost solution for attaching peripheral devices to a host, such as a host computer or host server, so that the peripheral devices and the host can communicate with each other. Devices that are attached to a USB bus are automatically detected and software automatically 11 configures the devices for immediate use, typically without user intervention. The USB devices/peripherals may include devices such as printers, scanners, keyboards, a mouse, digital cameras, digital video cameras, data acquisition devices, modems, speakers, telephones or video phones, storage devices such as ZIP drives, or other peripherals or devices. A USB bus can be extended with a hub which permits additions peripherals, or other hubs, to be coupled to a USB bus.
The USB specification entitled “Universal Serial Bus Revision 2.0 Specification” available at www.usb.org, the disclosure of which is hereby incorporated by reference in its entirety, dictates various requirements and protocols for devices connected with a USB bus—such as issues relating to power management.
Typically, a USB bus may include a peripheral device connected by a USB cable to a host or hub. By convention, data transmitted in the direction of the peripheral device is said to be in the “downstream” direction, while data transmitted in the direction of the host is said to be in the “upstream” direction.
One of the benefits of USB is the combination of power lines and signal lines in a single USB cable, which can eliminate the need for extra wires for an external power supply. Devices that draw power from the USB bus are called bus-powered devices.
As shown in FIG. 1, a host or hub 20 is coupled with a peripheral 22 over a USB cable 24. As provided by the USB specification, the USB cable 24 has four wires therein, two wires devoted to data signals D+ and D−, and two wires (Vbus and Gnd) devoted to supplying power to the peripherals within certain ranges. Under the USB specification, if any peripheral requires more than 500 milliamps (mA) for operation, then it must have its own power supply.
As specified by the USB specification, a peripheral may draw all of its power from the USB bus wiring if the peripheral draws up to, but no more than, 100 mA. If a peripheral requires a more than 100 mA but less than 500 mA, the peripheral can draw its power from the USB bus if during initialization, system configuration or enumeration, the peripheral consumes less than 100 mA.
USB supports three speeds of operation, high-speed USB supporting 480 Mbps (Mbps) data rates, full speed USB supporting data rates of 12 Mbps, and low speed USB supporting data rates of 1.5 Mbps. In general, high-speed USB devices consume greater amounts of power than low speed USB devices. In fact, there are many USB devices which cannot enumerate or initialize in high speed mode using less than 100 mA because their high speed transceivers increase power consumption over 100 mA, and therefore these devices have difficulties conforming to the USB specification.
Accordingly, as recognized by the present inventor, what is needed is a method for permitting a high speed USB device that draws more than 100 mA to be attached to a hub or host so that the USB device may draw its power from the USB bus wires.
It is against this background that various embodiments of the present invention were developed.